package com.panda.mall.common.mallOrder.entity;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.panda.mall.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
* 订单商品信息表
* mall_order_goods
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("mall_order_goods")
public class MallOrderGoods extends BaseEntity implements Serializable {

    /**
    * 订单商品id
    */
    @NotNull(message="[订单商品id]不能为空")
    @ApiModelProperty("订单商品id")
    private Long id;
    /**
    * 订单id
    */
    @ApiModelProperty("订单id")
    private Long orderId;
    /**
    * 订单编号
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("订单编号")
    @Length(max= 40,message="编码长度不能超过40")
    private String orderNumber;
    /**
    * 标准商品id
    */
    @ApiModelProperty("标准商品id")
    private Long spuId;
    /**
    * 标准商品名称
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("标准商品名称")
    @Length(max= 40,message="编码长度不能超过40")
    private String spuName;
    /**
    * 标准商品图片
    */
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("标准商品图片")
    @Length(max= 500,message="编码长度不能超过500")
    private String spuImg;
    /**
    * 标准商品品牌
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("标准商品品牌")
    @Length(max= 255,message="编码长度不能超过255")
    private String spuBrand;
    /**
    * 商品分类id
    */
    @ApiModelProperty("商品分类id")
    private Long categoryId;
    /**
    * 库存商品id
    */
    @ApiModelProperty("库存商品id")
    private Long skuId;
    /**
    * 库存商品名称
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("库存商品名称")
    @Length(max= 40,message="编码长度不能超过40")
    private String skuName;
    /**
    * 库存商品图片
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("库存商品图片")
    @Length(max= 255,message="编码长度不能超过255")
    private String skuImg;
    /**
    * 库存商品价格
    */
    @ApiModelProperty("库存商品价格")
    private BigDecimal skuPrice;
    /**
    * 库存商品购买数量
    */
    @ApiModelProperty("库存商品购买数量")
    private Integer skuQuantity;
    /**
    * 商品销售属性组合（json）
    */
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("商品销售属性组合（json）")
    @Length(max= 500,message="编码长度不能超过500")
    private String skuAttrsVals;
    /**
    * 促销减额
    */
    @ApiModelProperty("促销减额")
    private BigDecimal promotionPrice;
    /**
    * 优惠减额
    */
    @ApiModelProperty("优惠减额")
    private BigDecimal couponPrice;
    /**
    * 积分减额
    */
    @ApiModelProperty("积分减额")
    private BigDecimal integralPrice;
    /**
    * 优惠后的分解金额
    */
    @ApiModelProperty("优惠后的分解金额")
    private BigDecimal realPrice;
    /**
    * 赠送积分
    */
    @ApiModelProperty("赠送积分")
    private Integer giftIntegral;
    /**
    * 赠送成长值
    */
    @ApiModelProperty("赠送成长值")
    private Integer giftGrowth;
}
